package co.edu.udea.iw.prestamos.modelo.dto;

import java.util.Date;

import javax.validation.constraints.Max;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlTransient;

import com.sun.istack.internal.NotNull;

/**
 * POJO. Encapsula la entidad Prestamo
 * @author Dave Rivera <daverivera90@gmail.com>
 * @version 1.0
 * @since 01-07-2012
 */
@XmlRootElement
@XmlAccessorType(XmlAccessType.NONE)
public class Prestamo  implements java.io.Serializable {

	@XmlElement
	@NotNull
	@Max(11)
	private Integer id;
	
	@XmlElement	
	@NotNull
	private Dispositivo dispositivo;

	@XmlElement
	@NotNull
	private Usuario usuario;

	@XmlElement
	@NotNull
	private EstadoPrestamo estadoPrestamo;

	@XmlElement
	@NotNull
	private Date fechaSolicitud;

	@XmlElement
	@NotNull
	private Date fechaInicio;

	@XmlElement
	@NotNull
	@Max(11)
	private int tiempo;
	
	@XmlElement
	private Date fechaFin;

    public Prestamo() {
    }

	
    public Prestamo(Dispositivo dispositivo, Usuario usuario, EstadoPrestamo estadoPrestamo, Date fechaSolicitud, Date fechaInicio, int tiempo) {
        this.dispositivo = dispositivo;
        this.usuario = usuario;
        this.estadoPrestamo = estadoPrestamo;
        this.fechaSolicitud = fechaSolicitud;
        this.fechaInicio = fechaInicio;
        this.tiempo = tiempo;
    }
    public Prestamo(Dispositivo dispositivo, Usuario usuario, EstadoPrestamo estadoPrestamo, Date fechaSolicitud, Date fechaInicio, int tiempo, Date fechaFin) {
       this.dispositivo = dispositivo;
       this.usuario = usuario;
       this.estadoPrestamo = estadoPrestamo;
       this.fechaSolicitud = fechaSolicitud;
       this.fechaInicio = fechaInicio;
       this.tiempo = tiempo;
       this.fechaFin = fechaFin;
    }
   
    public Integer getId() {
        return this.id;
    }
    
    public void setId(Integer id) {
        this.id = id;
    }
    public Dispositivo getDispositivo() {
        return this.dispositivo;
    }
    
    public void setDispositivo(Dispositivo dispositivo) {
        this.dispositivo = dispositivo;
    }
    public Usuario getUsuario() {
        return this.usuario;
    }
    
    public void setUsuario(Usuario usuario) {
        this.usuario = usuario;
    }
    public EstadoPrestamo getEstadoPrestamo() {
        return this.estadoPrestamo;
    }
    
    public void setEstadoPrestamo(EstadoPrestamo estadoPrestamo) {
        this.estadoPrestamo = estadoPrestamo;
    }
    public Date getFechaSolicitud() {
        return this.fechaSolicitud;
    }
    
    public void setFechaSolicitud(Date fechaSolicitud) {
        this.fechaSolicitud = fechaSolicitud;
    }
    public Date getFechaInicio() {
        return this.fechaInicio;
    }
    
    public void setFechaInicio(Date fechaInicio) {
        this.fechaInicio = fechaInicio;
    }
    public int getTiempo() {
        return this.tiempo;
    }
    
    public void setTiempo(int tiempo) {
        this.tiempo = tiempo;
    }
    public Date getFechaFin() {
        return this.fechaFin;
    }
    
    public void setFechaFin(Date fechaFin) {
        this.fechaFin = fechaFin;
    }




}


